package com.sdry.service.llm;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import com.sdry.model.jyy.Shedudetail;
import com.sdry.model.llm.Team;
import com.sdry.model.llm.TeamRecord;

/** 
* @author lian 
* @version 1.0
* @time 2018年10月17日 下午3:37:36
*/
public interface TeamRecordService {

	/**
	 * 查询班组记录总行数
	 * @param teamRecord 班组记录
	 * @return
	 */
	int countTeamRecord(TeamRecord teamRecord);

	/**
	 * 分页查询班组记录
	 * @param map 
	 * @return
	 */
	List<TeamRecord> listPageTeamRecord(Map<String, Object> map);

	/**
	 * 新增班组
	 * @param teamRecord 班组记录
	 * @param request 
	 * @return
	 * @throws Exception 
	 */
	int insertTeamRecord(TeamRecord teamRecord, HttpSession session) throws Exception;

	/**
	 * 修改班组记录
	 * @param teamRecord 班组记录
	 * @return
	 */
	int updateTeamRecord(TeamRecord teamRecord);

	/**
	 * 删除班组记录
	 * @param str 班组ID组成的字符串
	 * @return
	 */
	int deleteTeamRecord(String str);

	/**
	 * 修改班组记录
	 * @param position 工位
	 * @param request 请求
	 * @return
	 */
	int updateTeamRecordToPosition(String position, HttpServletRequest request);

	/**
	 * 分页查询班组长选择的排产单
	 * @param map
	 * @return
	 */
	List<Shedudetail> listPageShedudetail(Map<String, Object> map);

	/**
	 * 班组长选择的排产单的总数
	 * @param teamRecord
	 * @return
	 */
	int countShedudetail(TeamRecord teamRecord);

	/**
	 * 删除班组长选定的排产单
	 * @param pid 排产单ID
	 * @param tid 班组记录ID
	 * @return
	 */
	int deleteTeamRecordOfPid(Long tid, Long pid);

	/**
	 * 校验是否删除班组记录
	 * @param str
	 * @return
	 */
	int deleteTeamRecordOfVerify(String str);

	/**   
	 * 修改已选排产单
	 * @Title:updateTeamRecordOnPositionId   
	 * @param teamRecord
	 * @param session
	 * @return             
	 */
	int updateTeamRecordOnPositionId(TeamRecord teamRecord, HttpSession session);

	/**   
	 * 查询当天班组记录
	 * @Title:getTeamRecordByTime   
	 * @param teamRecord
	 * @param session
	 * @return             
	 */
	int getTeamRecordByTime(TeamRecord teamRecord, HttpSession session);

	/**   
	 * 根据班组ID和日期查询班组记录
	 * @Title:getTeamRecordByTeamAndTime   
	 * @param tid 班组ID
	 * @param today 日期
	 * @return             
	 */
	TeamRecord getTeamRecordByTeamAndTime(Long tid, String today);

	/**  
	 * 根据主键查排产单 
	 * @Title:selectByPrimaryKey   
	 * @param parseInt
	 * @return             
	 */
	Shedudetail selectByPrimaryKey(int parseInt);

}
